﻿using System;
using System.Collections.Generic;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using ProjetoSolo.QueroGas.Aplicacao.Servicos;
using ProjetoSolo.QueroGas.Dominio.Entidades;

namespace QueroGas.Teste
{
    [TestClass]
    public class TesteServicoEmpresa
    {
        private Endereco endereco;
        private IList<Telefone> telefones;
        private Empresa empresa;
        private Usuario usuario;
        private IList<Produto> produtos;
            
        [TestInitialize]
        public void IniciarTeste()
        {
            this.usuario = new Usuario() { Nome = "Julio8" };

            this.endereco = new Endereco("72322312", "MG", "Araguari", "Tambeba", "Av. Dias Rua 8", "Loja 61", 1, 1);
            this.telefones = new List<Telefone>()
            {
                new Telefone("61", "33589340", TipoTelefone.Fixo),
                new Telefone("61", "92366030", TipoTelefone.Celular)
            };

            this.produtos = new List<Produto>() { new Produto("Gás 5Kg", "Gás de cozinha", 38.00m, 1) { IdProduto = 1 } };

            this.empresa = new Empresa("Empresa de teste", endereco, telefones, produtos);
            this.empresa.AdicionarDistribuidora(new Distribuidora("SuperGasBras") { IdDistribuidora = 2 });
        }

        [TestMethod]
        public void CadastrarEmpresa()
        {                        
            try
            {
                ServicoEmpresa.Cadastrar(this.empresa, this.usuario.IdUsuario);
            }
            catch (Exception ex)
            {
                Assert.Fail("O teste falhou " + ex.Message);
            }            
        }
    }
}
